package com.wyh.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wyh.common.request.PageRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 群组请求对象 msg_chat_room
 *
 * @author WangYuHang
 * @date 2024-03-08
 */
@Data
@ApiModel(value = "群组对象")
@EqualsAndHashCode(callSuper = true)
public class MsgChatRoomRequest extends PageRequest {



    /**
     * 主键
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @ApiModelProperty(value = "id")
    private Integer id;

    /**
     * 群id
     */
    @ApiModelProperty(value = "群id")
    private String chatRoomId;

    /**
     * 群组成员id列表，逗号分割，1515125,3123456,312555
     */
    @ApiModelProperty(value = "群组成员id列表，逗号分割，a4515151515,nan123456,zhangsan12555")
    private String memberList;

    /**
     * 群组成员昵称列表，中文顿号分割，大海、老张、春暖花开、老刘
     */
    @ApiModelProperty(value = "群组成员昵称列表，中文顿号分割，大海、老张、春暖花开、老刘")
    private String displayNameList;

    /**
     * 群主id
     */
    @ApiModelProperty(value = "群主id")
    private String roomOwner;

    /**
     * 自己在群里面的自定义群昵称
     */
    @ApiModelProperty(value = "自己在群里面的自定义群昵称")
    private String setDisplayName;

    /**
     * 群昵称，如果没有自定义群昵称则从display_name_list中，截取20个字符作为群昵称
     */
    @ApiModelProperty(value = "群昵称，如果没有自定义群昵称则从display_name_list中，截取20个字符作为群昵称")
    private String chatRoomNick;

    /**
     * 群头像，保存文件地址
     */
    @ApiModelProperty(value = "群头像，保存文件地址")
    private String chatRoomAvatar;

    /**
     * 群聊个性签名
     */
    @ApiModelProperty(value = "群聊个性签名")
    private String chatRoomSignature;

    /**
     * 群备注
     */
    @ApiModelProperty(value = "群备注")
    private String chatRoomRemark;

    /**
     * 是否开启群聊邀请确认(0:否；1:是)
     */
    @ApiModelProperty(value = "是否开启群聊邀请确认(0:否；1:是)")
    private String isInvite;

    /**
     * 创建人ID
     */
    @ApiModelProperty(value = "创建人ID")
    private Integer createUserId;

    /**
     * 创建时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 更新人ID
     */
    @ApiModelProperty(value = "更新人ID")
    private Integer updateUserId;

    /**
     * 更新时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;
}
